/** 变量*/var G = { baseUrl: "", debug: "debug", //调试logger组件 browser: {}, //浏览器 platform: {}, //操作系统 errors: { //错误提醒 "-1": "undefined error" }, errorHandlers: {}, //colorbox_up start analysis: true, loadedScripts: {}, ajaxLoadReturn: {}, eventDepends: {}, eventDependsParams: {}, eventDependsTrigger: {}, eventDependsHandlerMapping: {}, eventDependsHandler: {}, //colorbox_up end tmp: {}, //临时对象 userinfo: {}, //用户信息 leheButtons: {} //页面按钮};/** 常量*/var C = { AJAX: { SUCCESS: 0 }, WEEKDAY: ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], ERROR: { UNLOGIN: "0x3000001", //内存问题(可能超频过了或者同步出错) UNREGISTER: "0x3000002" }, EVENT: { LOGIN_INIT_NOT: "login_init_not", LOGIN_INIT_COMPLETE: "login_init_complete", LOGIN_SUCCESS: "login_success", PHASE_CURRENT_LOAD: "phase_current_load", BET_COMBO_SUCCESS: "bet_combo_success", BET_NORMAL_SUCCESS: "bet_normal_success", BET_SYNDICATE_SUCCESS: "bet_syndicate_success", BET_FOLLOW_SUCCESS: "bet_follow_success", BET_CHASE_SUCCESS: "bet_chase_success" }, NAMESPACE: { DEFAULT: "default", CHATROOM: "chatroom", LOTTERY_BET: "lottery_bet", GAME: "game" }, WALLET: { "1": "现金账户", "2": "彩金账户", "30": "测试账户", "50": "套餐账户", "101": "足球单场账户", "102": "竞彩篮球账户", "104": "快乐十分账户", "105": "竞技彩账户" }, WALLET_ORDER: ["1", "2", "50", "101", "102", "104", "30"], WALLET_DEFAULT: { CASH: "1", GIFT: "2" }, COOKIE_USERINFO: "lehecai_request_control_userinfo", COOKIE_USERSTATS: "lehecai_request_control_stats", COOKIE_TWODIMENSIONAL: "lehecai_two_dimensional_closed", FOOTBALL_DATA_TYPE: { ANALYSIS: "analysis", ODDS_ASIAN: "oddsAsian", ODDS_EURO: "oddsEuro" }, BASKETBALL_DATA_TYPE: { ANALYSIS: "analysis", LET_GOAL: "letGoal", ODDS_EURO: "europeOdds" }, CAPTCHA_LENGTH: 4};/** 获取客户端的浏览器信息*/(function() { G.browser.version = jQuery.browser.version; G.browser.msie = !!jQuery.browser.msie; G.browser.mozilla = !!jQuery.browser.mozilla; G.browser.opera = !!jQuery.browser.opera; G.browser.webkit = !!jQuery.browser.webkit; if (G.browser.msie && parseInt(G.browser.version, 10) == 6) { try { document.execCommand("BackgroundImageCache", false, true) } catch(a) {} }})(); /** 获取客户端的操作系统*/(function() { if (typeof(navigator.platform) == "undefined") { G.platform.unknown = true } else { var c = [{ string: navigator.platform, subString: "Win", identity: "windows" }, { string: navigator.platform, subString: "Mac", identity: "mac" }, { string: navigator.platform, subString: "Linux", identity: "linux" }]; for (var a = 0; a < c.length; a++) { var b = c[a].string; if (b) { if (b.indexOf(c[a].subString) != -1) { G.platform[c[a].identity] = true } } } } G.platform.unkown = !!G.platform.unkown; G.platform.windows = !!G.platform.windows; G.platform.mac = !!G.platform.mac; G.platform.linux = !!G.platform.linux})();/** logger类* 1)、logger.info(msg)* 2)、logger.debug(msg);* 3)、logger.error(a, msg);* js调试logger组件,使用如下:* logger.error(a, "CountdownTimer callback error!");*/if (typeof(logger) == "undefined") { var logger = {}} (function() { logger._enable = typeof(console) != "undefined" && typeof(console.log) != "undefined"; if (logger._enable) { if (typeof(console.log) == "function") { logger._log = function() { try { console.log.apply(console, arguments) } catch(d) {} } } else { if (typeof(console.log) == "object") { logger._log = function() { try { console.log(Array.prototype.slice.call(arguments)) } catch(d) {} } } else { logger._log = function() {} () } } } else { logger._log = function() {} } var b = { none: 0, debug: 1, info: 2, warn: 3, error: 4 }; var c = b[G.debug]; if (typeof(c) == "undefined") { c = 0 } for (var a in b) { if (c > 0) { if (b[a] > 0) { if (b[a] >= c) { logger[a] = function() { logger._log.apply(logger, arguments) } } else { logger[a] = function() {} } } } else { logger[a] = function() {} } }})(); /**数字扩展类*/(function() { var b = window.parseInt; window.parseInt = function() { if (arguments.length == 1) { return b(arguments[0], 10) } return b.apply(null, arguments) }; var a = window.parseFloat; window.parseFloat = function() { if (arguments.length == 1) { return a(arguments[0], 10) } return a.apply(null, arguments) }})();/**字符扩展类*使用示例如下*var s = String.format("S{0}T{1}","n","e");//结果:SnTe*/String.format = function() { var c = arguments[0]; for (var a = 0; a < arguments.length - 1; a++) { var b = new RegExp("\\{" + a + "\\}", "gm"); c = c.replace(b, arguments[a + 1]) } return c};/*var osb = new StringBuffer("Sn");var str = osb.append("Te");//结果:SnTe*/function StringBuffer(a) { this._strings = new Array(); this.append(a)}StringBuffer.prototype.append = function(a) { this._strings.push(a); return this};StringBuffer.prototype.toString = function() { var a = (arguments.length == 0) ? "": arguments[0]; return this._strings.join(a)}; /**字符填充类(长度小于,字符填充)*调用实例*var s = "471812366";*s.leftpad(10, '00'); //结果:00471812366*s.rightpad(10, '00'); //结果:47181236600*左填充*/String.prototype.leftpad = function(b, f) { if (arguments.length == 1) { f = "0" } var e = new StringBuffer(); for (var d = 0, a = b - this.length; d < a; d++) { e.append(f) } e.append(this); return e.toString()};//右填充String.prototype.rightpad = function(b, f) { if (arguments.length == 1) { f = "0" } var e = new StringBuffer(); e.append(this); for (var d = 0, a = b - this.length; d < a; d++) { e.append(f) } return e.toString()};/** 事件监听类*/function ClickHandler(a) { a = jQuery.extend({ //与jQuery事件合并 clickable: undefined, click: function() {}, disable: true }, a); if (typeof(a.clickable) == "undefined" || typeof(a.click) != "function") { return } this.clickable = a.clickable; this.click = a.click; this.disable = !!a.disable; this.init()}//初始状态ClickHandler.prototype.init = function() { var a = this; this.clickable.bind("click", function() { if (a.disable) { a.clickable.unbind() } a.click(a) })};//取消绑定ClickHandler.prototype.disable = function() { this.clickable.unbind()};//返回初始状态绑定ClickHandler.prototype.reset = function() { this.init()};/*项目类,使用示例var c = new LHC.URLParser(window.location.href);var a = new LHC.QueryStringParser(c.getQueryString());var b = a.get("default_float");*/var LHC = {};LHC.getURLPlan;LHC.Formatter = { formatInt: function(b, c) { if (typeof(c) == "undefined") { c = 0 } var a = parseInt(b, 10); if (isNaN(a)) { a = c } return a }};(function() { var a = function() { var d, e = {}, b; d = window.location.hash.replace(/^#/, ""); if (d == "") { this.uhash = {} } else { d = d.split("|"); for (var c = 0; c < d.length; c++) { b = d[c].split("="); e[b[0]] = b[1] } this.uhash = e } }; a.prototype.set = function(e) { var d = []; if (arguments.length == 1 && /Object/.test(Object.prototype.toString.call(e))) { for (var c in e) { if (e.hasOwnProperty(c)) { this.uhash[c] = e[c] } } for (var b in this.uhash) { d.push(b + "=" + this.uhash[b]) } window.location.hash = d.join("|") } else { logger.info("设置hash的参数不正确") } }; a.prototype.get = function(b) { if (arguments.length == 1) { return this.uhash[b] } else { return this.uhash } }; LHC.URLHash = new a()})();LHC.URLParser = function(a) { this._fields = { Username: 4, Password: 5, Port: 7, Protocol: 2, Host: 6, Path: 8, URL: 0, QueryString: 9, Fragment: 10 }; this._values = {}; this._regex = null; this.version = 0.1; this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/; for (var b in this._fields) { this["get" + b] = this._makeGetter(b) } if (typeof a != "undefined") { this._parse(a) }};LHC.URLParser.prototype.setURL = function(a) { this._parse(a)};LHC.URLParser.prototype._initValues = function() { for (var a in this._fields) { this._values[a] = "" }};LHC.URLParser.prototype._parse = function(a) { this._initValues(); var b = this._regex.exec(a); if (!b) { throw "DPURLParser::_parse -> Invalid URL" } for (var c in this._fields) { if (typeof b[this._fields[c]] != "undefined") { this._values[c] = b[this._fields[c]] } }};LHC.URLParser.prototype._makeGetter = function(a) { return function() { return this._values[a] }};LHC.QueryStringParser = function(d) { var c = d.split("&"); this.params = {}; for (var b = 0, a = c.length; b < a; b++) { var e = c[b].split("="); if (e.length != 2) { continue } this.params[e[0]] = e[1] }};LHC.QueryStringParser.prototype.get = function(a) { return this.params[a]};//普通链接LHC.LinkGenerator = { footballData: function(a, b) { a = parseInt(a); if (a == 0 || isNaN(a)) { return false } if (typeof(b) == "undefined") { b = C.FOOTBALL_DATA_TYPE.ANALYSIS } return G.baseDataUrl + "/football/match/" + b + "/?id=" + a }, basketballData: function(a, b) { a = parseInt(a); if (a == 0 || isNaN(a)) { return false } if (typeof(b) == "undefined") { b = C.BASKETBALL_DATA_TYPE.ANALYSIS } return G.baseDataUrl + "/basketball/schedule/" + b + "/?id=" + a }};jQuery(document).ready(function() { var c = new LHC.URLParser(window.location.href); var a = new LHC.QueryStringParser(c.getQueryString()); var b = a.get("default_float"); if (typeof(b) == "string") { if (b == "register") { jQuery.executeErrorHandler(C.ERROR.UNREGISTER) } }});//倒计时功能的实现(CountDownTimer)function CountdownTimer(b) { var a = { startTime: new Date(), endTime: new Date(), callback: undefined, endCallback: undefined }; this.settings = jQuery.extend(a, b); this.startTime = this.settings.startTime; this.endTime = this.settings.endTime; this.callback = this.settings.callback; this.endCallback = this.settings.endCallback; this.running = false; this.intervalTimer = undefined}CountdownTimer.prototype.run = function() { this.running = true; var e = e || this.endTime.getTime(); var d = d || this.startTime.getTime(); var a = this.callback; var b = new Date(); if (e <= d) { this.stop(); if (a) { a({ d: 0, h: 0, m: 0, s: 0 }) } return { d: 0, h: 0, m: 0, s: 0 } } var c = this; var f = e - d; this.intervalTimer = setInterval(function() { var l = e - d; d += 1000; var i = new Date().valueOf() - b.valueOf() - 1000; var n = f - l; if (Math.abs(i - n) > 1000) { l = f - i } if (l <= 0) { c.stop.apply(c); if (a) { a({ d: 0, h: 0, m: 0, s: 0 }) } return { d: 0, h: 0, m: 0, s: 0 } } var o = parseInt(l / 86400000, 10); var k = parseInt(l % 86400000 / 3600000, 10); var g = parseInt(l % 86400000 % 3600000 / 60000, 10); var j = parseInt(l % 86400000 % 3600000 % 60000 / 1000, 10); if (a) { a({ d: o, h: k, m: g, s: j }) } }, 1000)};CountdownTimer.prototype.clear = function() { if (this.intervalTimer) { clearInterval(this.intervalTimer); this.intervalTimer = undefined } this.running = false};CountdownTimer.prototype.stop = function() { logger.debug("stop event fired"); this.clear(); if (this.endCallback) { this.endCallback() }};/** 为所有链接设置统一属性 'a[href*="redirect.lehecai.com"]'*/jQuery(function() { jQuery('a[href*="redirect.lehecai.com"]').each(function(d, c) { var c = jQuery(c), f = c.attr("href"), e = []; e = f.match(/^(.+?)(#.+)$/); var g = encodeURIComponent(location.href); if (/\?/.test(f)) { if (e === null) { f += "&REF=" + g } else { f = e[1] + "&REF=" + g + e[2] } } else { if (e === null) { f += "?REF=" + g } else { f = e[1] + "?REF=" + g + e[2] } } c.attr("href", f) })});/** scroll事件*/function Scroll(w) { var a = { element: undefined, style: "v", width: 0, height: 0, scrollHeight: 0, innerWidth: 0, delay: 120, speed: 1, callback: undefined }; var p = this; var u = jQuery.extend(a, w); if (!u.element) { return false } var h = u.element; var k = u.style; var x = u.delay; if (k == "h" && typeof(w.delay) == "undefined") { x = 1 } var t; if (k == "h" && x == 1) { t = 1200 } else { t = u.startDelay || x * u.speed * 10 } var i, n; if (k == "h") { if (u.width) { i = u.width } else { i = h.offsetWidth } n = u.innerWidth || i } var s = u.scrollHeight || u.height; var j = false; var e = 0; var b = undefined; var f = 0; var o = 0; if (i) { h.style.width = i + "px" } h.style.height = u.height + "px"; h.style.overflow = "hidden"; h.noWrap = true; h.scrollLeft = 0; h.scrollTop = 0; var l, v, y, d; l = h.getElementsByTagName("div"); if (l && l.length > 0) { l = l[0] } else { return false } var r = function(z) { if (z) { return z.cloneNode(true) } return null }; h.onmouseover = function() { if (j) { j = false } }; h.onmouseout = function() { if (!j) { j = true } }; var q = { v: function() { v = r(l); h.appendChild(v) }, h: function() { var A = l.getElementsByTagName("span"); for (var z = 0; z < A.length; z++) { var D = A[z]; D.style.width = n + "px"; D.style.height = s + "px" } d = n * (A.length); if (A && A[0]) { var B = A[0] } l.innerHTML += l.innerHTML } }; var g = { v: function() { f = 0; e = 0; h.scrollTop = 0; j = false }, h: function() { o = 0; e = 0; h.scorllLeft = 0; j = false } }; var c = { v: function() { if (!j) { return false } f++; if (f == s + 1) { e++; f--; if (e == x) { f = 0; e = 0 } } else { if (v.offsetHeight - h.scrollTop <= 0) { h.scrollTop -= l.offsetHeight; h.scrollTop++ } else { h.scrollTop++ } } }, h: function() { if (!j) { return false } o++; if (o == n + 1) { e++; o--; if (e == x) { o = 0; e = 0 } } else { if (d - h.scrollLeft <= 0) { h.scrollLeft = 0 - i; h.scrollLeft++ } else { h.scrollLeft++ } } } }; this.start = function() { if (j) { return false } if (k === "v" && jQuery(h).children(":first").height() < jQuery(h).height()) { return false } if (k === "h") { jQuery(l).find("span").css({ width: n, display: "inline-block" }); var z = n * l.getElementsByTagName("span").length; if (z < jQuery(h).width()) { return false } else { jQuery(l).css("width", 2 * z) } } q[k](); var B = u.speed * 10; var A = function() { if (b) { clearTimeout(b) } c[k](); b = setTimeout(A, B) }; A(); j = true }; this.isStarted = function() { return j }; this.restart = function() { g[k](); p.start() }} /** js模拟php的shuffle函数,用来打乱一维数组并返回随机数* 调用方式,如:$.shuffle({count:10,min:0,max:10})*/(function(a) { a.shuffle = function(h) { var g = a.extend({ //合并参数 pool: undefined,//设为空类型 min: 1, //最小数值 max: 10, //最大数值 count: 5, //返回随机数的个数 padding: 0, //填充数 sort: false //排序 }, h); if (g.max < g.count) { return [] } var f; if (g.pool) { f = g.pool } else { f = []; for (var e = g.min; e <= g.max; e++) { f.push(e) } } var b = []; var e = 0; while (e < g.count) { var c = parseInt((f.length - e) * Math.random(), 10); if (g.padding > 0) { b.push(f[c].toString().leftpad(g.padding)) } else { b.push(f[c]) } e++; var d = f[c]; f[c] = f[f.length - e]; f[f.length - e] = d } if (g.sort) { b = b.sort(function(j, i) { return parseInt(j, 10) - parseInt(i, 10) }) } return b }})(jQuery); /** hoverIntent点击延时jquery插件* http://cherne.net/brian/resources/jquery.hoverIntent.html*/(function(a) { a.fn.hoverIntent = function(k, j) { var l = { sensitivity: 7, interval: 100, timeout: 0 }; l = a.extend(l, j ? { over: k, out: j }: k); var o, n, h, d; var e = function(f) { o = f.pageX; n = f.pageY }; var c = function(g, f) { f.hoverIntent_t = clearTimeout(f.hoverIntent_t); if ((Math.abs(h - o) + Math.abs(d - n)) < l.sensitivity) { a(f).unbind("mousemove", e); f.hoverIntent_s = 1; return l.over.apply(f, [g]) } else { h = o; d = n; f.hoverIntent_t = setTimeout(function() { c(g, f) }, l.interval) } }; var i = function(g, f) { f.hoverIntent_t = clearTimeout(f.hoverIntent_t); f.hoverIntent_s = 0; return l.out.apply(f, [g]) }; var b = function(p) { var g = a.extend({}, p); var f = this; if (f.hoverIntent_t) { f.hoverIntent_t = clearTimeout(f.hoverIntent_t) } if (p.type == "mouseenter") { h = g.pageX; d = g.pageY; a(f).bind("mousemove", e); if (f.hoverIntent_s != 1) { f.hoverIntent_t = setTimeout(function() { c(g, f) }, l.interval) } } else { a(f).unbind("mousemove", e); if (f.hoverIntent_s == 1) { f.hoverIntent_t = setTimeout(function() { i(g, f) }, l.timeout) } } }; return this.bind("mouseenter", b).bind("mouseleave", b) }})(jQuery);/** jQuery.cookie*/jQuery.cookie = function(b, j, n) { if (typeof j != "undefined") { n = n || {}; if (j === null) { j = ""; n.expires = -1 } var e = ""; if (n.expires && (typeof n.expires == "number" || n.expires.toUTCString)) { var f; if (typeof n.expires == "number") { f = new Date(); f.setTime(f.getTime() + (n.expires * 24 * 60 * 60 * 1000)) } else { f = n.expires } e = "; expires=" + f.toUTCString() } var l = n.path ? "; path=" + (n.path) : ""; var g = n.domain ? "; domain=" + (n.domain) : ""; var a = n.secure ? "; secure": ""; document.cookie = [b, "=", encodeURIComponent(j), e, l, g, a].join("") } else { var d = null; if (document.cookie && document.cookie != "") { var k = document.cookie.split(";"); for (var h = 0; h < k.length; h++) { var c = jQuery.trim(k[h]); if (c.substring(0, b.length + 1) == (b + "=")) { d = decodeURIComponent(c.substring(b.length + 1)); break } } } return d }}; /** 对象与数组的转换* 使用示例如下* var v = {* a: "a",* b: "b"* }* var ar = objectToArray(v);* alert(ar[1]); //结果:b*/var objectToArray = function(b) { if (!b) { return [] } var a = []; for (m in b) { if ( !! b[m]) { a.push(b[m]) } } return a};/** 页面按钮*/var leheBtnIdGenertor = function() { return objectToArray(G.leheButtons).length + 1};var LeheBtn = function(a) { this.element = a.el; this.id = a.id};LeheBtn.prototype.enable = function() { this.element.removeProp("disabled"); this.element.removeClass("disabled").addClass("normal")};LeheBtn.prototype.disable = function() { this.element.prop("disabled", true); this.element.removeClass("normal").addClass("disabled")};jQuery.fn.getLeheBtn = function() { var a = jQuery(this); var c = a[0]; var b = jQuery.data(c, "id"); if (!b) { return false } return G.leheButtons[b]};// 页面按钮-初始化jQuery.fn.initLeheBtns = function() { this.each(function() { var c = jQuery(this); var d = c[0]; var b = jQuery.data(d, "id"); if (b) { return false } b = leheBtnIdGenertor(); jQuery.data(d, "id", b); c.bindBtnEvent = function() { var e = jQuery(this); e.unbind("hover").unbind("mousedown").unbind("mouseup"); e.hover(function() { e.removeClass("normal").removeClass("click").removeClass("disabled").addClass("hover") }, function() { e.removeClass("hover").removeClass("click").removeClass("disabled").addClass("normal") }).mousedown(function() { e.removeClass("hover").removeClass("normal").removeClass("disabled").addClass("click") }).mouseup(function() { e.removeClass("hover").removeClass("click").removeClass("disabled").addClass("normal") }) }; c.bindBtnEvent(); if (d.disabled) { if (!c.hasClass("disabled")) { c.removeClass("normal").addClass("disabled") } } var a = new LeheBtn({ id: b, el: c }); G.leheButtons[b] = a })};/** js日期格式化/* http://blog.csdn.net/vbangle/article/details/5643091/* 使用方法:/* (new Date()).format("yyyy-MM-dd hh:mm:ss.S");*/Date.prototype.format = function(e) { var d = ""; var c = Date.replaceChars; for (var b = 0; b < e.length; b++) { var a = e.charAt(b); if (b - 1 >= 0 && e.charAt(b - 1) == "\\") { d += a } else { if (c[a]) { d += c[a].call(this) } else { if (a != "\\") { d += a } } } } return d};Date.replaceChars = { shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], longMonths: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], longDays: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], d: function() { return (this.getDate() < 10 ? "0": "") + this.getDate() }, D: function() { return Date.replaceChars.shortDays[this.getDay()] }, j: function() { return this.getDate() }, l: function() { return Date.replaceChars.longDays[this.getDay()] }, N: function() { return this.getDay() + 1 }, S: function() { return (this.getDate() % 10 == 1 && this.getDate() != 11 ? "st": (this.getDate() % 10 == 2 && this.getDate() != 12 ? "nd": (this.getDate() % 10 == 3 && this.getDate() != 13 ? "rd": "th"))) }, w: function() { return this.getDay() }, z: function() { var a = new Date(this.getFullYear(), 0, 1); return Math.ceil((this - a) / 86400000) }, W: function() { var a = new Date(this.getFullYear(), 0, 1); return Math.ceil((((this - a) / 86400000) + a.getDay() + 1) / 7) }, F: function() { return Date.replaceChars.longMonths[this.getMonth()] }, m: function() { return (this.getMonth() < 9 ? "0": "") + (this.getMonth() + 1) }, M: function() { return Date.replaceChars.shortMonths[this.getMonth()] }, n: function() { return this.getMonth() + 1 }, t: function() { var a = new Date(); return new Date(a.getFullYear(), a.getMonth(), 0).getDate() }, L: function() { var a = this.getFullYear(); return (a % 400 == 0 || (a % 100 != 0 && a % 4 == 0)) }, o: function() { var a = new Date(this.valueOf()); a.setDate(a.getDate() - ((this.getDay() + 6) % 7) + 3); return a.getFullYear() }, Y: function() { return this.getFullYear() }, y: function() { return ("" + this.getFullYear()).substr(2) }, a: function() { return this.getHours() < 12 ? "am": "pm" }, A: function() { return this.getHours() < 12 ? "AM": "PM" }, B: function() { return Math.floor((((this.getUTCHours() + 1) % 24) + this.getUTCMinutes() / 60 + this.getUTCSeconds() / 3600) * 1000 / 24) }, g: function() { return this.getHours() % 12 || 12 }, G: function() { return this.getHours() }, h: function() { return ((this.getHours() % 12 || 12) < 10 ? "0": "") + (this.getHours() % 12 || 12) }, H: function() { return (this.getHours() < 10 ? "0": "") + this.getHours() }, i: function() { return (this.getMinutes() < 10 ? "0": "") + this.getMinutes() }, s: function() { return (this.getSeconds() < 10 ? "0": "") + this.getSeconds() }, u: function() { var a = this.getMilliseconds(); return (a < 10 ? "00": (a < 100 ? "0": "")) + a }, e: function() { return "Not Yet Supported" }, I: function() { return "Not Yet Supported" }, O: function() { return ( - this.getTimezoneOffset() < 0 ? "-": "+") + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? "0": "") + (Math.abs(this.getTimezoneOffset() / 60)) + "00" }, P: function() { return ( - this.getTimezoneOffset() < 0 ? "-": "+") + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? "0": "") + (Math.abs(this.getTimezoneOffset() / 60)) + ":00" }, T: function() { var b = this.getMonth(); this.setMonth(0); var a = this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/, "$1"); this.setMonth(b); return a }, Z: function() { return - this.getTimezoneOffset() * 60 }, c: function() { return this.format("Y-m-d\\TH:i:sP") }, r: function() { return this.toString() }, U: function() { return this.getTime() / 1000 }};/** 日期转换*/function parseDate(b) { if (typeof b == "string") { var a = b.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/); if (a && a.length > 3) { return new Date(parseInt(a[1], 10), parseInt(a[2], 10) - 1, parseInt(a[3], 10)) } a = b.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/); if (a && a.length > 6) { return new Date(parseInt(a[1], 10), parseInt(a[2], 10) - 1, parseInt(a[3], 10), parseInt(a[4], 10), parseInt(a[5], 10), parseInt(a[6], 10)) } a = b.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/); if (a && a.length > 7) { return new Date(parseInt(a[1], 10), parseInt(a[2], 10) - 1, parseInt(a[3], 10), parseInt(a[4], 10), parseInt(a[5], 10), parseInt(a[6], 10), parseInt(a[7], 10)) } } return null}function parseIdCard(a) { if (typeof(a) == "undefined") { return false } a = a.toLowerCase(); if (a.length == 0) { return false } var f = /\d{15}/; var c = /\d{17}([0-9]{1}|x|X)/; var l = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31"); var g = a.length == 15 ? f.test(a) : c.test(a); if (!g) { return false } var d = a.length == 15 ? "19" + a.substr(6, 6) : a.substr(6, 8); var i = d.substr(0, 4); var e, k; if (d.substr(4, 1) == "0") { e = d.substr(5, 1) } else { e = d.substr(4, 2) } if (d.substr(6, 1) == "0") { k = d.substr(7, 1) } else { k = d.substr(6, 2) } var n = parseInt(k, 10); var b = parseInt(e, 10); var h = parseInt(i, 10); if (b > 12 || b < 1 || n > 31 || n < 1) { return false } var j = false; if (i % 100 != 0) { if (i % 4 == 0) { j = true } } else { if (i % 400 == 0) { j = true } } if (j) { l[1] = 29 } if (l[b - 1] < n) { return false } return { length: a.length, year: h, month: b, date: n }}//身份证验证function validateIdCard(f) { var a = parseIdCard(f); if (a === false) { return false } if (a.length == 18) { var e = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var b = 0; var d; for (var c = 0; c < 17; c++) { b = b + f.substr(c, 1) * e[c] } b = b % 11; switch (b) { case 0: d = "1"; break; case 1: d = "0"; break; case 2: d = "x"; break; case 3: d = "9"; break; case 4: d = "8"; break; case 5: d = "7"; break; case 6: d = "6"; break; case 7: d = "5"; break; case 8: d = "4"; break; case 9: d = "3"; break; case 10: d = "2"; break } if (f.substr(17, 1).toLowerCase() != d) { return false } } if (a.length > 18) { return false } return true}//年龄验证function validateAge(a, g, d) { var i = parseIdCard(a); if (i === false) { return false } if (typeof(g) == "undefined") { g = 18 } else { g = parseInt(g, 10); if (isNaN(g)) { return false } } if (typeof(d) == "undefined") { d = new Date() } else { if (! (d instanceof Date)) { return false } } var c = d.getDate(); var b = d.getMonth(); var e = d.getFullYear() - g; var h = new Date(e, b, c, 0, 0, 0); var f = new Date(i.year, i.month - 1, i.date, 0, 0, 0); if (h.getTime() < f.getTime()) { return false } return true}//座机验证function validateTelphone(a) { if (!/^[0-9-]{12,20}$/.test(a)) { return false } return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(a))}//手机验证function validateMobile(a) { if (!/^[0-9]{11}$/.test(a)) { return false } return (/^(?:1[3458]\d)-?\d{5}(\d{3}|\*{3})$/.test(a))}/** 返回字符串字节长度* 如:'Sn' 字节为2* '杨' 字节为2*/function getRealLength(c) { var b = 0; for (var a = 0; a < c.length; a++) { if ((c.charCodeAt(a) >= 0) && (c.charCodeAt(a) <= 255)) { b++ } else { b += 2 } } return b}//所有 AJAX 请求设置默认jQuery.ajaxSetup({ dataType: "json", type: "POST"});//当 AJAX 请求开始时,显示“加载中”的指示jQuery(document).ajaxStart(function() { jQuery.colorbox({ html: '正在提交请求...', opacity: 0.3, overlayClose: false, escKey: false, close: "" })});/** 扩展Math对象*/jQuery.extend(Math, { permute: function(d, a) { var b = 1; for (var c = 0; c < a; c++) { b *= (d - c) } return parseInt(b, 10) }, combine: function(c, a) { var b = Math.permute(c, a); b /= Math.permute(a, a); return parseInt(b, 10) }, fullCombination: function(j, b) { var d = []; var g = j.length; var e = []; for (var c = 0; c <= b; c++) { e.push(c - 1) } var h = b; var f = true; while (e[0] == -1) { if (f) { var a = []; for (var c = 1; c <= b; c++) { a.push(j[e[c]]) } d.push(a); f = false } e[h]++; if (e[h] == g) { e[h] = 0; h--; continue } if (h < b) { h++; e[h] = e[h - 1]; continue } if (h == b) { f = true } } return d }, fullCombinationDantuo: function(f, a, j) { var d = 0; if (a) { d = a.length } var c = j.length; if (d + c < f) { return false } var b = f - d; var h = Math.fullCombination(j, b); for (var e = 0, g = h.length; e < g; e++) { h[e] = h[e].concat(a) } return h }, countCombinationDantuo: function(c, a, b) { a = (typeof(a) == "undefined") ? 0 : a; var d = c - a; return Math.combine(b, d) }, arrayFullCombination: function(a) { var d = function(g, e) { var n = g; var l = []; while (e.length > 0) { for (var j = 0; j < n.length; j++) { var f = [e[0]]; for (var h = 0; h < n[j].length; h++) { f.push(n[j][h]) } l.push(f) } e = e.slice(1, e.length) } return l }; var c = Math.fullCombination(a[0], 1); for (var b = 1; b < a.length; b++) { c = d(c, a[b]) } return c }, arrayIsNoRepeat: function(a) { var b = 0, c = {}; for (; b < a.length; b++) { if (c[a[b]] !== undefined) { return false } c[a[b]] = true } return true }, arrayIsHasNoRepeat: function(e) { var h = e.length; var b = []; var f = []; var g = []; var j = []; var a = 1; for (var d = 0; d < h; d++) { b[d] = e[d].length; a = a * b[d]; f[d] = 0 } for (var d = 0; d < a; d++) { g[d] = [] } var c = 0; while (true) { for (var d = 0; d < h; d++) { g[c][d] = (f[d] + 1); j[d] = e[d][g[c][d] - 1] } if (Math.arrayIsNoRepeat(j)) { return true } c++; for (var d = h - 1; d >= 0; d--) { if (f[d] == b[d] - 1) { f[d] = 0 } else { break } } if (d < 0) { break } f[d]++ } return false }});/*_______________colorbox弹出层_______________*///function getPayPasswordInputText() { return '支付密码: '}/** 返回倒计时的字符串,使用如下* alert(defaultCountdownTimerCallback({ d: 1, h: 1, m: 1, s: 1 })); //结果:1天1小时1分1秒*/function defaultCountdownTimerCallback(a) { if (typeof(a) != "object") { logger.error(a, "CountdownTimer callback error!"); return } var b = new StringBuffer(); if (a.d > 0) { b.append(a.d).append("天") } if (a.d > 0 || a.h > 0) { b.append(a.h).append("小时") } if (a.d > 0 || a.h > 0 || a.m > 0) { b.append(a.m).append("分") } b.append(a.s).append("秒"); return b.toString()}// 检测是否是数字键function numberKeyOnly(a) { var b = a.which; if (a.shiftKey) { if (b == 9) { return true } return false } if ((b <= 57 && b >= 48) || b == 37 || b == 39 || b == 8 || b == 9 || b == 46 || (b <= 105 && b >= 96) || b == 229) { return true } return false}function numberKeyAndDotOnly(a) { var b = a.which; if (numberKeyOnly(a)) { return true } if (b == 110 || b == 190) { return true } return false}//添加到收藏夹function addFavorite(a, b) { if (G.browser.msie) { window.external.addFavorite(a, b); return false } if (G.browser.mozilla || G.browser.opera) { this.setAttribute("href", a); this.setAttribute("title", b); this.setAttribute("rel", "sidebar"); this.click(); return false } if (G.browser.webkit) { if (G.platform.mac) { jQuery.showAlert("按下收藏本站"); return false } if (G.platform.windows) { jQuery.showAlert("按下 收藏本站"); return false } } return false}//更新页面头部的用户信息function updateHeaderUserInfo(f) { UID = f.uid; USERNAME = f.username; G.userinfo = f; var k = jQuery("#header_simple"); if (k.length > 0) { jQuery("#header_simple_username").html(f.username); jQuery("#header_simple_not_login").hide(); jQuery("#header_simple_login").show(); jQuery.triggerGlobalEvent(C.EVENT.LOGIN_SUCCESS, f); return } jQuery("#toptray_username").html(f.username); jQuery("#toptray_not_login").hide(); jQuery("#toptray_login").show(); if (f.counter.autofollow_records != 0 && f.counter.autofollow_records != null) { jQuery("#header_my_autofollow").attr("href", G.baseUrl + "/user/autofollow/message/") } else { jQuery("#header_my_autofollow").attr("href", G.baseUrl + "/user/autofollow/manage/") } jQuery("#header_notpaid_counter").html(f.counter.order_notpaid > 0 || f.counter.chase_notpaid > 0 ? '[ ' + (parseInt(f.counter.order_notpaid) + parseInt(f.counter.chase_notpaid)) + "]": ""); jQuery("#header_notupload_counter").html(f.counter.plan_notupload ? f.counter.plan_notupload: "0"); jQuery("#header_sign").attr("class", f.counter.order_notpaid > 0 || f.counter.chase_notpaid > 0 ? "header_sign": "nosign"); var j = jQuery("#header_user_money_hidden"); var d = 0; for (var l in f.wallet) { var a = f.wallet[l]; d += parseFloat(a.balance, 10) } j.val(d.toFixed(2) + ""); var h = new StringBuffer(); for (var c = 0, g = C.WALLET_ORDER.length; c < g; c++) { var l = C.WALLET_ORDER[c]; var a = f.wallet[l]; if (typeof(a) == "undefined") { continue } var b = parseFloat(a.balance, 10).toFixed(2); if (typeof(a.status) == "undefined" || a.status != "1") { continue } h.append(" ").append(C.WALLET[l]).append(":").append('¥').append(b).append("").append("
") } h.append(' '); h.append(''); var e = jQuery("#wallet_detail"); e.empty().append(h.toString()); jQuery("#header_autofollowunread_counter").text(f.counter.autofollow_records); jQuery("#mylottery").unbind().hover(function() { jQuery("#mylottery_dropdown").show() }, function() { jQuery("#mylottery_dropdown").hide() }); jQuery.triggerGlobalEvent(C.EVENT.LOGIN_SUCCESS, f)}//用户登录function initAjaxLogin(e) { e = jQuery.extend({ lottery_type: undefined, success: undefined, error: undefined }, e); var d = []; if (typeof(e.lottery_type) != "undefined") { if (jQuery.isArray(e.lottery_type)) { for (var c = 0, a = e.lottery_type.length; c < a; c++) { d.push("lottery_type[]=" + e.lottery_type[c]) } } else { d.push("lottery_type=" + e.lottery_type) } } var b = jQuery.cookie(C.COOKIE_USERINFO); if ( !! b && b == "1") { jQuery.ajax({ url: G.baseUrl + "/user/ajax_userinfo.php", type: "GET", data: d.join("&"), dataType: "json", global: false, success: function(h) { var f = jQuery.ajaxResultHandler(h, { successCloseOverlay: false, errorCloseOverlay: false, ignoreRedirect: true }); if (typeof(f) != "object" || !f.success || f.data.uid == 0) { if (typeof(e.error) == "function") { e.error(f) } jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_NOT); jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_COMPLETE); return false } jQuery.extend(G.tmp, { serverTime: f.datetime }); updateHeaderUserInfo(f.data); var g = 1000 * 60 * 60; if (f.data.paypassword.status) { g *= 24 } jQuery.cookie(C.COOKIE_USERINFO, "1", { expires: new Date(new Date().getTime() + g), path: "/" }); if (typeof(e.success) == "function") { e.success(f) } jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_COMPLETE, f.data) } }) } else { if (typeof(e.error) == "function") { e.error() } jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_NOT); jQuery.triggerGlobalEvent(C.EVENT.LOGIN_INIT_COMPLETE) }}/** 返回正跳转地址*/function executeRedirect(a) { a = jQuery.extend({ url: "" }, a); if (typeof(a.url) == "string" && jQuery.trim(a.url) != "") { window.location.href = a.url; return true } return false}//用户注册功能jQuery.registerErrorTable({ "0x3000001": "user unlogin", "0x3000002": "user unregister", "0x7020004": "not enough balance", "0x10010007": "login failed too many times", "0x10010006": "error username or password"},{ "0x3000001": function(d) { d = jQuery.extend({ lottery_type: undefined, success: undefined, error: undefined, template_url: G.baseUrl + "/user/load_float_login.php" }, d); function c(e) { if ( !! e) { jQuery("#float_need_captcha").show(); jQuery.captcha("float_captcha") } else { jQuery("#float_need_captcha").hide() } } var a = function(e) { c(e.require_captcha) }; var b = function(e) { c(e) }; jQuery.template(d.template_url, "float_login_tpl", function(e) { jQuery.colorbox({ inline: true, href: "#" + e, onComplete: function() { try { var f = 1; var g = jQuery("#float_other_list"); var i = jQuery("#colorbox").get(0); var h = jQuery("#float_other_list"); g = g.parent(); while (i !== g.get(0) && f < 30) { h = h.add(g); g = g.parent(); ++f } h.add(g).css("overflow", "visible") } catch(j) { logger.info(j) } }, onLoad: function() { var h = G.browser.msie && (G.browser.version == 6); var g; jQuery(".float_other_box").unbind().hover(function() { if (h) { g = jQuery("select:visible").css("visibility", "hidden") } jQuery(".float_other_box").addClass("float_other_box_on"); jQuery(".float_other_text").addClass("float_other_text_on"); jQuery("#float_other_list").show() }, function() { jQuery(".float_other_box").removeClass("float_other_box_on"); jQuery(".float_other_text").removeClass("float_other_text_on"); jQuery("#float_other_list").hide(); if (h) { g.css("visibility", "visible") } }); jQuery(".fl_right .fl_login_title_ul li").menus({ classes: { on: "on", off: "" }, default_selected_index: 0, hover_switch: false, switch_success: function(i) { var j = i.attr("login_name"); jQuery(".fl_right .login_box").hide(); jQuery("#fl_login_" + j).show() } }); prelogin({ callback: a, no_need_to_request_callback: b, successCloseOverlay: false }); jQuery("#float_login_close_btn").unbind().click(function() { jQuery.colorbox.close() }); var f = jQuery("#float_login_form"); f.unbind().submit(function() { var j = function() { var n = []; n.push("username=" + encodeURIComponent(jQuery("#float_username").val())); n.push("passwd=" + encodeURIComponent(jQuery("#float_passwd").val())); n.push("verify=" + encodeURIComponent(jQuery("#float_verify").val())); if (typeof(d.lottery_type) != "undefined") { if (jQuery.isArray(d.lottery_type)) { for (var l = 0, k = d.lottery_type.length; l < k; l++) { n.push("lottery_type[]=" + d.lottery_type[l]) } } else { n.push("lottery_type=" + d.lottery_type) } } jQuery.ajax({ url: G.baseUrl + "/user/ajax_login.php", type: "POST", data: n.join("&"), global: false, success: function(q) { var p = jQuery.ajaxResultHandler(q, { ignoreRedirect: true, usingAlert: true, error: d.error }); if (typeof(p) == "object" && p.success) { jQuery.extend(G.tmp, { serverTime: p.datetime }); updateHeaderUserInfo(p.data); if (typeof(d.success) == "function") { d.success(p.data) } if (typeof(ajax_login_params) == "object" && typeof(ajax_login_params.success) == "function") { ajax_login_params.success(p) } var o = p.data.discuz; if (o) { o = encodeURIComponent(o); jQuery("body").append(' ') } f.resetForm() } else { window.require_captcha = true; c(window.require_captcha) } } }) }; var i = window.require_captcha; prelogin({ callback: function(k) { if (k.require_captcha != i && k.require_captcha) { c(k.require_captcha) } else { j(); if (k.require_captcha != i && !k.require_captcha) { c(k.require_captcha) } } }, no_need_to_request_callback: function() { j() }, successCloseOverlay: false }); return false }) }, opacity: 0.5, close: "" }); return false }); jQuery.trackPageView(G.baseUrl + "/virtual/float/login") }, "0x3000002": function(a) { a = jQuery.extend({ validate: true, success: undefined, error: undefined, ignoreRedirect: true, successCloseOverlay: true, submitClass: "float_register_submit", loginLink: true, templateUrl: G.baseUrl + "/user/load_float_register.php" }, a); jQuery.template(a.templateUrl, "float_register_tpl", function(b) { var c = function() { jQuery("#" + b).find("input[type=submit]").addClass(a.submitClass).end(); jQuery("#float_register_verify").one("focus", function() { jQuery.captcha("float_register_captcha"); jQuery("#float_register_captcha_info").hide(); jQuery("#float_register_captcha_span").show() }); if (a.loginLink) { jQuery("#float_register_login").show() } else { jQuery("#float_register_login").hide() } var d = jQuery("#float_register_form").validate({ errorPlacement: function(e, f) { e.appendTo(f.parent("td").find("p").empty()) }, errorClass: "error", validClass: "valid", highlight: function(g, e, f) {}, unhighlight: function(g, e, f) {}, onkeyup: function(e) {}, success: function(e) { e.empty().removeClass(this.errorClass).addClass(this.validClass) }, submitHandler: function(f) { var e = jQuery(f); var g = []; g.push("username=" + encodeURIComponent(jQuery("#float_register_username").val())); g.push("passwd=" + encodeURIComponent(jQuery("#float_register_passwd").val())); g.push("conpasswd=" + encodeURIComponent(jQuery("#float_register_conpasswd").val())); g.push("verify=" + encodeURIComponent(jQuery("#float_register_verify").val())); jQuery.ajax({ url: G.baseUrl + "/user/ajax_register.php", type: "POST", data: g.join("&"), global: false, success: function(i) { var h = jQuery.ajaxResultHandler(i, { ignoreRedirect: a.ignoreRedirect, successCloseOverlay: a.successCloseOverlay, usingAlert: true, error: a.error }); if (typeof(h) == "object" && h.success) { e.resetForm(); initAjaxLogin(); if (typeof(a.success) == "function") { a.success(h) } } else { if (typeof(a.error) == "function") { a.error(h) } } } }); return false }, rules: { float_register_username: { required: true, validateUsername: true, maxRealLength: 16, minRealLength: 4, remote: { url: "/user/user_exist.php", ignoreElement: true, validFunction: function(f) { var e = jQuery.ajaxResultHandler(f, { successCloseOverlay: false }); if (e && e.success) { return ! (e.data.result === true) } return false }, data: { name: function() { return jQuery.trim(jQuery("#float_register_username").val()) } } } }, float_register_passwd: { required: true, validatePassword: true }, float_register_conpasswd: { required: true, equalTo: "#float_register_passwd" }, float_register_verify: { required: true, remote: { url: "/captcha_verify.php", validFunction: function(f) { var e = jQuery.ajaxResultHandler(f, { successCloseOverlay: false }); if (e && e.success) { return e.data.result === true } return false } } } }, messages: { float_register_username: { required: "请输入用户名", remote: "该用户名已被使用" }, float_register_passwd: { required: "请输入密码" }, float_register_conpasswd: { equalTo: "密码不匹配" }, float_register_verify: { required: "请输入验证码", remote: "验证码输入不正确" } } }); jQuery.colorbox({ inline: true, href: "#" + b, opacity: 0.5, close: "", onComplete: function() { if (jQuery("#float_register_captcha").is(":visible")) { jQuery.captcha("float_register_captcha") } } }) }; if (a.validate && typeof(jQuery.prototype.validate) != "function") { jQuery.ajaxLoadScript({ url: G.baseJsUrl + "/jquery.validate.min.js", global: false, success: c }) } else { c() } return false }); jQuery.trackPageView(G.baseUrl + "/virtual/float/register") }, "0x10010007": function(a) { $.showError("登录失败次数过多", { detail: ' ' + a.message + "" }) }, "0x10010006": function(a) { $.showError("您输入的密码不正确", { detail: ' ' + a.message + "" }) }});//视频兼容jQuery.fn.extend({ notebox: function(a) { a = jQuery.extend({ opacity: 0.8, notebox: ".notebox", left: 0, top: 15, noteboxClass: "notebox" }, a); jQuery(this).each(function() { var c = jQuery(this); c.css("position", "relative"); var b = c.find(a.notebox); b.css({ position: "absolute", top: a.top, left: a.left }).addClass(a.noteboxClass).hide(); c.hover(function() { jQuery(this).css("zIndex", 9999); b.show() }, function() { jQuery(this).css("zIndex", 0); b.hide() }) }); return jQuery(this) }});/** tooltip是当鼠标停止在某一个工具元件时,界面对用户的提示。为了做出更美观的tooltip,通常会用层模拟创建一个tooltip效果。*/jQuery.fn.extend({ tooltip: function(b) { b = jQuery.extend({ opacity: 0.8, selector: ".tooltip", left: 15, top: 15, container: "", containerId: "", containerClass: "tooltip_box" }, b); if (!b.container || jQuery(b.container).length == 0) { jQuery("body").append(' '); b.container = "#" + (b.containerId ? b.containerId: "default_tooltip_box") } var a = jQuery(b.container); jQuery(this).each(function() { var c = jQuery(this); c.hover(function(e) { var d = jQuery.mouseCoords(e); a.css({ position: "absolute", left: d.x + b.left + "px", top: d.y + b.top + "px", opacity: b.opacity }).html(c.next(b.selector).html()).show() }, function(d) { a.hide().empty() }) }); return jQuery(this) }});// menus 下拉菜单jQuery.fn.extend({ menus: function(c) { var b = jQuery(this); c = jQuery.extend({ default_selected_index: 0, classes: { on: "on", off: "off" }, hover_switch: false, switch_success: undefined }, c); var a = function(d) { if (d.hasClass(c.classes.on)) { return false } b.removeClass(c.classes.on); d.addClass(c.classes.on).removeClass(c.classes.off); if (c.switch_success && typeof(c.switch_success) == "function") { c.switch_success(d) } }; jQuery(this).each(function(d) { var e = jQuery(this); if (d == c.default_selected_index) { a(e) } else {} if (c.hover_switch) { e.hover(function() { a(e) }) } else { e.click(function() { a(e) }) } }) }});// 自定义媒体DOM类function getFlashMovieObject(a) { if (window.document[a]) { return window.document[a] } if (document.embeds && document.embeds[a]) { return document.embeds[a] } else { return document.getElementById(a) }}/** 其它登录*/function prelogin(c) { c = jQuery.extend({ callback: function(d) {}, no_need_to_request_callback: function(d) {}, successCloseOverlay: true }, c); var a = 60000; if (!window._last_request_prelogin) { window._last_request_prelogin = (new Date()).getTime() } else { var b = (new Date()).getTime(); if (b - window._last_request_prelogin < a) { logger.info("no need to re-request prelogin in " + a + "ms"); if (c.no_need_to_request_callback && typeof(c.no_need_to_request_callback) == "function") { c.no_need_to_request_callback(window.require_captcha) } return false } } window._last_request_prelogin = (new Date()).getTime(); jQuery.ajax({ url: G.baseUrl + "/user/ajax_prelogin.php", type: "GET", dataType: "json", global: false, success: function(e) { var d = jQuery.ajaxResultHandler(e, { successCloseOverlay: c.successCloseOverlay }); window.require_captcha = d.data.require_captcha; if (c.callback && typeof(c.callback) == "function") { c.callback(d.data) } } })}// 获取代理的表单内容function getAgentIdFromUrl() { try { var b = new LHC.URLParser(window.location.href); var a = new LHC.QueryStringParser(b.getQueryString()); var d = parseInt(a.get("agentId"), 10); if (isNaN(d)) { return 0 } return d } catch(c) { logger.error(c); return 0 }}//调用百度广告代码。用来显示广告的。function fillActivitySlot(c, a) { if (a) { return } try { BAIDU_CLB_fillSlot(c.toString()) } catch(b) {}}/** Placeholder是HTML5新增的另一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点时,提示文字消失。* http://www.oschina.net/question/5189_22929*/jQuery.fn.extend({ funPlaceholder: function(a) { a = jQuery.extend({ position: "absolute", left: "10px", top: "6px", color: "#919191" }, a); jQuery(this).each(function(f) { var c = jQuery(this); var e = c.attr("id"); var d = e + "-lable"; var j = c.attr("placeholder"); var h = (function() { var i = document.createElement("input"); return "placeholder" in i })(); if (!h && j != "" && c.val() == "") { var b = jQuery(' ' + j + "").insertBefore(c); var g = c.parent().find("." + d); g.css({ position: a.position, left: a.left, top: a.top, color: a.color }); c.parent().append(b); c.bind("click", function() { g.hide() }).bind("blur", function() { if (jQuery(this).value === "") { g.show() } }); g.bind("click", function() { jQuery(this).hide(); c.focus() }) } }) }});/**窗口初使化位置*/jQuery.extend({ initLazyLoad: function(a, c) { c = c || 200; var a = a || jQuery(".js-lazy").toArray(); if (!jQuery.isArray(a)) { return } var e = function() { return document.all ? document.getElementsByTagName("html")[0].offsetHeight: window.innerHeight }; var d = function() { if (a.length == 0) { return } var g = Math.max(document.body.scrollTop, document.documentElement.scrollTop); for (var l = 0; l < a.length; l++) { var o = a[l]; if (!o) { return } var k = jQuery(o).offset(); var h = k ? k.top: 0; var j = jQuery(o).prop("showed"); var p = b + g + c; if (p > h && !j) { var n = null; jQuery.each(o.childNodes, function(i, q) { if (q.nodeType == 8) { n = q } }); if (n) { var f = document.createElement("div"); f.innerHTML = n.data; jQuery(o).append(jQuery(f).children()).prop("showed", true); a.splice(l, 1); l = -1; continue } } } }; var b = e(); d(); jQuery(window).resize(function() { b = e() }); jQuery(window).scroll(function() { d() }) }});